import pandas as pd
import pickle
import jieba

CLASS1_CONFIG = """
新产品,
新产品,新车资讯
新产品,评测体验
新产品,车型口碑
新产品,碰撞测试
新产品,广告/宣传片
新能源,
新能源,新能源车
购车导购,
购车导购,海选导购
购车导购,对比
购车导购,二手车
用车攻略,
用车攻略,用车攻略
用车攻略,买车/提车
用车攻略,汽车用品
车展,
车展,车展
车展,汽车展示
车展,经典车赏
行业趋势,
行业趋势,行业动向
行业趋势,文化历史
品牌动向,
品牌动向,品牌分析
品牌动向,销量解读
行业资讯,
行业资讯,行情
行业资讯,汽车人物
行业资讯,特种车辆
其他,
其他,新鲜趣闻
其他,摩托车
其他,事故/车祸
其他,模型玩具
其他,热门事件
新技术,
新技术,技术解析
新技术,工厂揭秘
车辆改装,
车辆改装,改装车
车辆改装,赛事风云
售后维保,
售后维保,保养/维修
金融方案/车险,
金融方案/车险,车贷政策
金融方案/车险,车贷攻略
金融方案/车险,车险攻略
金融方案/车险,车险政策
自驾旅行,
自驾旅行,自驾旅行
自驾旅行,兴趣
自驾旅行,越野
"""


def remove_stopwords():
    pass


def get_class1_config():
    res = {}
    for l in CLASS1_CONFIG.split('\n'):
        d = l.strip().split(',')
        if len(d) < 2:
            continue
        new_class1, old_class1 = d
        if old_class1 == '':
            continue

        res[old_class1] = new_class1

    return res


if __name__ == '__main__':
    in_file = '/data/data/category2/107_2019-04-02_che_article.pl'
    out_file_title = '/data/data/new_class2_ft_title.tsv'
    out_file_content = '/data/data/new_class2_ft_content.tsv'
    out_file_title_content = '/data/data/new_class2_ft_title_content.tsv'
    d: pd.DataFrame = pickle.load(open(in_file, 'rb'))

    out_fd_title = open(out_file_title, 'w+')
    out_fd_content = open(out_file_content, 'w+')
    out_fd_title_content = open(out_file_title_content, 'w+')

    class1_config = get_class1_config()

    cols = ['content_id', 'article_type_1st', 'article_type_2nd', 'title', 'content']

    for k in d[cols].values.tolist():
        content = k[4].strip().replace('\t', ' ').replace('\0xa0', ' ').replace('\r\n', ' ').replace('\n', ' ')
        title = k[3].strip().replace('\t', ' ').replace('\0xa0', ' ').replace('\r\n', ' ').replace('\n', ' ')

        label = k[1]

        new_class1 = class1_config.get(label)

        if new_class1:
            new_class1 = label

            out_title_content = '\t'.join(['__label__' + new_class1, ' '.join(jieba.cut(title + ' ' + content))])
            out_title = '\t'.join(['__label__' + new_class1, ' '.join(jieba.cut(title))])
            out_content = '\t'.join(['__label__' + new_class1, ' '.join(jieba.cut(content))])

            if title:
                out_fd_title.write(out_title + '\n')

            if content:
                out_fd_content.write(out_content + '\n')

            out_fd_title_content.write(out_title_content + '\n')






